<?php

declare(strict_types=1);

namespace App\Enums;

/**
 * 上传文件类型枚举
 */
enum UploadFileType: string
{
    case FILE = 'file';
    case IMAGE = 'image';

    /**
     * 获取描述
     */
    public function label(): string
    {
        return match($this) {
            self::FILE => '文件',
            self::IMAGE => '图片',
        };
    }

    /**
     * 获取所有选项
     */
    public static function options(): array
    {
        return array_map(function ($case) {
            return [
                'value' => $case->value,
                'label' => $case->label(),
            ];
        }, self::cases());
    }
}
